package com.sojson.project.pay.service.wx;

import com.sojson.util.pay.wx.bean.WxResponseV3;

/**
 * 微信支付回调Service
 * 
 * @author liu
 * @date 2021-03-24
 */
public interface NotifyPayWxService {

    /**
     * 支付回调(商城)
     * 
     * @param wxResult
     * @return
     * @throws Exception 
     */
    boolean goods(WxResponseV3 wxResult) throws Exception;

    /**
     * 退款回调(商城)
     * 
     * @return
     * @throws Exception 
     */
    boolean goodsCancel(WxResponseV3 paramResult) throws Exception;

    /**
     * 支付回调(诚意金)
     * 
     * @param paramResult
     * @return
     */
    boolean deposit(WxResponseV3 paramResult);

    /**
     * 退款回调(诚意金)
     * 
     * @return
     * @throws Exception 
     */
    boolean depositCancel(WxResponseV3 paramResult) throws Exception;

    /**
     * 支付回调(酒店)
     * 
     * @return
     * @throws Exception 
     */
    boolean hotel(WxResponseV3 paramResult) throws Exception;

    /**
     * 退款回调(酒店)
     * 
     * @return
     * @throws Exception 
     */
    boolean hotelCancel(WxResponseV3 paramResult) throws Exception;

    /**
     * 支付回调(续租)
     * 
     * @param wxResult
     * @return
     */
    boolean notifyPayGoOn(WxResponseV3 wxResult);

    /**
     * 退款回调(续签)
     * 
     * @return
     */
    boolean notifyPayCancelGoOn(WxResponseV3 paramResult);

    /**
     * 主动退款回调
     * 
     * @return
     */
    boolean notifyPayCancelInitiative(WxResponseV3 wxResult);

    /**
     * 子订单主动退款回调
     * 
     * @return
     */
    boolean notifyPayCancelGoOnInitiative(WxResponseV3 wxResult);

}